package com.zhengf.rdf.utis;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DownloadUtils {

//    public static void download(HttpServletRequest request, HttpServletResponse response,String fileurls,String fileName){
//        try (
//                // jdk7新特性，可以直接写到try()括号里面， java会自动关闭
//                InputStream inputStream = new FileInputStream(new java.io.File(fileurls, fileName));
//                OutputStream outputStream = response.getOutputStream()
//        ) {
//            //指明为下载
//            response.setContentType("application/x-download");
//            // String fileName = "111.xlsx";
//            response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);   // 设置文件名
//
//
//            //把输入流copy到输出流
//            IOUtils.copy(inputStream, outputStream);
//
//            outputStream.flush();
//
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    // 设置Fiel文件
//    public static String setFile(MultipartFile file, String time, FileService fileSer, String filePage) {
//        String fileName = file.getOriginalFilename();
//        if (fileName.indexOf("\\") != -1) {
//            fileName = fileName.substring(fileName.lastIndexOf("\\"));
//        }
//        String filePath = "src/main/resources/static/files/"+filePage+"/";
//        java.io.File targetFile = new java.io.File(filePath);
//        if (!targetFile.exists()) {
//            targetFile.mkdirs();
//        }
//        FileOutputStream out = null;
//        try {
//            out = new FileOutputStream(filePath + fileName);
//            out.write(file.getBytes());
//            out.flush();
//            out.close();
//
//            com.zhengf.rdf.entity.File fileDB = new com.zhengf.rdf.entity.File();
//            fileDB.setFileTime(time);
//            fileDB.setNoticeFileURL(filePage +"/"+ fileName);
//            fileDB.setNoticeFileName(fileName);
//            fileDB.setNoticeFileSize(file.getSize() / 1024 + "KB");
//            fileSer.insert(fileDB);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return "上传失败";
//        }
//        return "上传成功!";
//    }
//
//    // 更新附件之前先
//    public static void delFile(String id, FileService fileSer) {
//        if (id != null && !id.equals("")) {
//            com.zhengf.rdf.entity.File file = new com.zhengf.rdf.entity.File();
//            file.setId(Integer.parseInt(id));
//            file.setFileTime("");
//            fileSer.updateById(file);
//        }
//    }
//
//    /**
//     * 设置图片
//     * @return
//     */
//    public static Map setJPG(MultipartFile file, String time, FileService fileSer,String filePage){
//        String fileName = file.getOriginalFilename();
//        if (fileName.indexOf("\\") != -1) {
//            fileName = fileName.substring(fileName.lastIndexOf("\\"));
//        }
//        String filePath = "src/main/resources/static/files/"+filePage+"/";
//        java.io.File targetFile = new java.io.File(filePath);
//        if (!targetFile.exists()) {
//            targetFile.mkdirs();
//        }
//        FileOutputStream out = null;
//        Map map = new HashMap();
//
//        try {
//            out = new FileOutputStream(filePath + fileName);
//            out.write(file.getBytes());
//            out.flush();
//            out.close();
//
//            com.zhengf.rdf.entity.File fileDB = new com.zhengf.rdf.entity.File();
//            fileDB.setFileTime(time+"jpg");
//            fileDB.setNoticeFileURL(filePage +"/"+ fileName);
//            fileDB.setNoticeFileName(fileName);
//            fileDB.setNoticeFileSize(file.getSize() / 1024 + "KB");
//            fileSer.insert(fileDB);
//
//            map.put("fileName", fileName);
//            map.put("url", filePage +"/"+ fileName);
//            map.put("size", file.getSize() / 1024 + "KB");
//        } catch (Exception e) {
//            e.printStackTrace();
//
//        }
//
//        return map;
//    }
//    public static void getFilesInFiletimes(JSONObject files, com.zhengf.rdf.entity.File file, String filetimes, FileService fileSer) {
//        if(filetimes != null){
//            file.setFileTime(filetimes);
//
//            EntityWrapper ew1 = new EntityWrapper();
//            ew1.setEntity(file);
//
//            List list1 = fileSer.selectList(ew1);
//            if(list1.size() > 0){
//                files.put(filetimes,list1);
//            }
//        }
//    }

}
